namespace StatementPayable {
  export interface SearchForm extends Base.Pagination {
    order?: string;
    sort?: string;
    beforePageNum: number;
    waybillNum: string;
    payableStatementNumber: string;
    agentIdList: string[];
    statementType: number | undefined;
    companyIdList: string[];
  }
  export interface SearchParams extends Base.Pagination {
    beforePageNum: number;
    waybillNum: string[];
    payableStatementNumber: string[];
    agentIdList: string[];
    statementType: number;
    companyIdList: string[];
    statusList: string[];
  }
  export type ListRows = {
    createBy: number;
    createName: string;
    createTime: string;
    updateBy: number;
    updateName: string;
    updateTime: string;
    id: string;
    tenantId: number;
    paymentBillNumber: string;
    payableStatementNumber: string;
    agentId: number;
    agent: string;
    statementType: number;
    payableAmount: number;
    surplusPayableAmount: number;
    shipmentCount: number;
    status: number;
    sum: number;
    dataSource: number;
    companyId: number;
    companyName: string;
    billerId: number;
    biller: string;
    billTime: string;
    isRevoke: number;
  };
  export type StatementPayableInfo = {
    id: string;
    paymentBillNumber: string;
    payableStatementNumber: string;
    companyName: string;
    agent: string;
    surplusPayableAmount: number;
    payableAmount: number;
    createTime: string;
    createName: string;
    payableAmountSum: number;
    receivableAmountSum: number;
    grossProfit: number;
    statementShipmentListRes: {
      waybillId: number;
      waybillNum: string;
      service: string;
      destination: string;
      settlementWeight: number;
      payableAmount: number;
      payableAmountSum: number;
      receivableAmount: number;
      grossProfit: number;
      profit: number;
      discountFormula: string;
      productRatio: string;
      status: number;
    }[];
  };
  export interface PreAcceptedBill extends Base.Pagination {
    beforePageNum: number;
  }
  export interface PreAcceptedBillParams extends Base.Pagination {
    beforePageNum: number;
    statusList: number[];
  }
  export type PreAcceptedBillListRow = {
    createBy: number;
    createName: string;
    createTime: string;
    updateBy: number;
    updateName: string;
    updateTime: string;
    id: string;
    tenantId: number;
    payableStatementNumber: string;
    agentId: number;
    agent: string;
    payableAmount: number;
    shipmentCount: number;
    status: number;
    sum: number;
    companyId: number;
    companyName: string;
    apiKey: string;
  };
  export type FeeInfo = {
    waybillId: string;
    waybillNum: string;
    pickupCity: string;
    customerShortName: string;
    customerName: string;
    bizName: string;
    outWarehouseBrokerName: string;
    depositTime: string;
    itemNumber: number;
    channelName: string;
    agentChannelName: string;
    customsDeclarationType: string;
    customsTaxesType: string;
    declaredValue: number;
    systemAgentSettlementWeight: number;
    destination: string;
    warehouseCode: string;
    settlementWeight: number;
    importAgentSettlementWeight: number;
    zipCode: string;
    squaresNumber: number;
    actualWeight: number;
    innerRemark: string;
    productName: string;
    materialQualityName: string;
    volumeWeight: number;
    customerRemark: string;
    grossProfit: number;
    productRatio: string;
    kgProfit: number;
    receivableAmountSum: number;
    receivableFeeList: {
      feeName: string;
      price: number;
      number: number;
      amount: number;
      unit: string;
      createTime: string;
      createName: string;
      remark: string;
    }[];
    payableAmountSum: number;
    payableFeeList: {
      id: number;
      feeName: string;
      price: number;
      number: number;
      amount: number;
      unit: string;
      payableStatementNumber: string;
      statementType: number;
      feeDate: string;
      remark: string;
      createName: string;
    }[];
    adjustCostSum?: number;
  };
  // 添加费用
  export type AddFeeToPayable = {
    payableStatementId: string;
    waybillId: string;
    feeName: string;
    price: number | undefined;
    unit: string | undefined;
    amount: number | undefined;
    payableStatementNumber?: string;
  };
  export type ModifyFeeToPayable = {
    id: string;
    feeName: string;
    price: number;
    unit: string;
    amount: number;
    waybillId: number;
    payableStatementNumber: string;
  };
}
